package com.flyco.modules.stm.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.flyco.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.flyco.poi.excel.annotation.Excel;

/**
 * @Description: 门店优惠配置表
 * @Author: flyco
 * @Date:   2022-04-13
 * @Version: V1.0
 */
@Data
@TableName("stm_store_discount")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="stm_store_discount对象", description="门店优惠配置表")
public class StmStoreDiscount {
    
	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
	private Long id;
	/**店铺id*/
	@Excel(name = "店铺id", width = 15)
    @ApiModelProperty(value = "店铺id")
	@Dict(dictTable ="stm_store_info",dicText = "name",dicCode = "store_id")
	private Long storeId;
	/**目标类型：product->商品级；order->订单级；*/
	@Excel(name = "目标类型：product->商品级；order->订单级；", width = 15)
    @ApiModelProperty(value = "目标类型：product->商品级；order->订单级；")
	@Dict(dicCode = "target_type")
	private String targetType;
	/**值类型：amount->金额；ratio->比例；*/
	@Excel(name = "值类型：amount->金额；ratio->比例；", width = 15)
    @ApiModelProperty(value = "值类型：amount->金额；ratio->比例；")
	@Dict(dicCode = "value_type")
	private String valueType;
	/**优惠值*/
	@Excel(name = "优惠值", width = 15)
    @ApiModelProperty(value = "优惠值")
	private java.math.BigDecimal discountValue;
	/**改价上限*/
	@Excel(name = "改价上限", width = 15)
    @ApiModelProperty(value = "改价上限")
	private java.math.BigDecimal upperValue;
	/**改价下限*/
	@Excel(name = "改价下限", width = 15)
    @ApiModelProperty(value = "改价下限")
	private java.math.BigDecimal lowerValue;
	/**1:失效;0有效*/
	@Excel(name = "1:失效;0有效", width = 15)
    @ApiModelProperty(value = "1:失效;0有效")
	private Integer cancelFlag;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**更新人*/
	@Excel(name = "更新人", width = 15)
    @ApiModelProperty(value = "更新人")
	private String updateBy;
	/**更新时间*/
	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	private Date updateTime;
}
